There is a technique that virtually provides a logical storage area obtained by combining physical storage devices instead of providing a physical storage device directly to a computer in a storage system. As a specific virtualization function for a storage system, there is a RAID (Redundant Array of Independent Disks) function, which combines a plurality of physical storage devices in a system so as to realize redundancy and higher speeds.
Also, a group of a plurality of physical storage devices on a prescribed RAID level is referred to as a RAID group, and a plurality of RAID groups are combined and a logical storage area is virtually provided so as to increase the expandability of the storage volume of a storage system. In a storage system such as that described above, a wide striping function, which distributes logical volumes to a plurality of RAID groups, is known. By using this wide striping function, input/output (I/O) loads are distributed to respective RAID groups, and thereby the performance of random I/O can be improved.
In a storage system that implements a wide striping function, when separate control modules control a plurality of RAID groups respectively, access paths, cache memories, and the like for the RAID groups can be distributed, making it possible to improve the I/O performance.
However, it is difficult to control all logical volumes as one unit because I/O is controlled with respect to logical volumes (referred to as WSV hereinafter) that have received wide striping for each independent control module. In particular, when logical volumes are read sequentially, accesses are made through a plurality of different control modules and thus it is not possible to prefetch a WSV across a plurality of RAID groups and it is difficult to improve the I/O performance for reading.
There is a technique that provides functions as described below to a disk array device in which a connection port for a host device has a plurality of paths so as to improve the throughput even when I/Os are requested by a plurality of different ports. The functions are an internal cache search function, which performs a search in order to check whether data to be accessed is stored in an internal cache memory, and an external cache search function, which performs a search via a data path in order to check whether data to be accessed is stored in an external cache memory.
Techniques described in the documents below are known.    Patent Document 1: Japanese Laid-open Patent Publication No. 2008-27316    Patent Document 2: Japanese Laid-open Patent Publication No. 2001-125753    Patent Document 3: Japanese Laid-open Patent Publication No. 2007-241927